home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Languages / MPW Oberon 2.1168 / OInterfaces / CMAcceleration.mod < prev    next >
Encoding:
Text File  |  1995-08-10  |  3.8 KB  |  97 lines  |  [TEXT/MPS ]

  1. (*
  2.      File:        CMAcceleration.mod
  3.  
  4.      Contains:    ColorSync 2.0 Acceleration Component Interfaces
  5.  
  6.      Version:    Technology:    ColorSync 2.0
  7.                  Package:    Universal Interfaces 2.1ß1 in “MPW Prerelease” on ETO #17
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs.applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. *)
  19.  
  20. (*$TAGS-*)
  21. (*$CALLING PASCAL*)
  22. MODULE CMAcceleration;
  23.  
  24. IMPORT SYSTEM, Types, Components, CMApplication;
  25.  
  26. (* $PUSH*)
  27. (* $ALIGN MAC68K*)
  28. (* $LibExport+*)
  29.  
  30. CONST
  31.     cmAccelerationInterfaceVersion* = 1;
  32.  
  33. (*–––––––––––––––––––––––––––––––––––––– Components.Component Type*)
  34.     cmAccelerationComponentType*    = LONG("csac");
  35.  
  36. (*–––––––––––––––––––––––––––––––––––––– Required Components.Component function selectors*)
  37.     cmLoadTables*                = 0;
  38.     cmCalculateData*                = 1;
  39.  
  40. (*–––––––––––––––––––––––––––––––––––––– table data for acceleration component*)
  41.  
  42. TYPE
  43.     CMAccelerationTableData* = RECORD
  44.         inputLutEntryCount*:        LONGINT;                                (* count of entries for input lut for one dimension*)
  45.         inputLutWordSize*:        LONGINT;                                (* count of bits of each entry ( e.g. 16 for WORD )*)
  46.         inputLut*:                Types.Handle;                                    (* handle to input lut*)
  47.         outputLutEntryCount*:    LONGINT;                                (* count of entries for output lut for one dimension    *)
  48.         outputLutWordSize*:        LONGINT;                                (* count of bits of each entry ( e.g. 8 for BYTE )*)
  49.         outputLut*:                Types.Handle;                                    (* handle to output lut*)
  50.         colorLutInDim*:            LONGINT;                                (* input dimension  ( e.g. 3 for LAB ; 4 for CMYK )*)
  51.         colorLutOutDim*:            LONGINT;                                (* output dimension ( e.g. 3 for LAB ; 4 for CMYK )*)
  52.         colorLutGridPoints*:        LONGINT;                                (* count of gridpoints for color lut ( for one Dimension )    *)
  53.         colorLutWordSize*:        LONGINT;                                (* count of bits of each entry ( e.g. 8 for BYTE )*)
  54.         colorLut*:                Types.Handle;                                    (* handle to color lut*)
  55.         inputColorSpace*:        CMApplication.CMBitmapColorSpace;                        (* packing info for input*)
  56.         outputColorSpace*:        CMApplication.CMBitmapColorSpace;                        (* packing info for output*)
  57.         userData*:                Types.Ptr;
  58.         reserved1*:                LONGINT;
  59.         reserved2*:                LONGINT;
  60.         reserved3*:                LONGINT;
  61.         reserved4*:                LONGINT;
  62.         reserved5*:                LONGINT;
  63.     END;
  64.  
  65.     CMAccelerationTableDataPtr* = POINTER TO CMAccelerationTableData;
  66.     CMAccelerationTableDataHdl* = HANDLE TO CMAccelerationTableData (*ΔΔ POINTER TO CMAccelerationTableDataPtr*);
  67.  
  68. (*–––––––––––––––––––––––––––––––––––––– calc data for acceleration component*)
  69.     CMAccelerationCalcData* = RECORD
  70.         pixelCount*:                LONGINT;                                (* count of input pixels*)
  71.         inputData*:                Types.Ptr;                                    (* input array*)
  72.         outputData*:                Types.Ptr;                                    (* output array*)
  73.         reserved1*:                LONGINT;
  74.         reserved2*:                LONGINT;
  75.     END;
  76.  
  77.     CMAccelerationCalcDataPtr* = POINTER TO CMAccelerationCalcData;
  78.     CMAccelerationCalcDataHdl* = HANDLE TO CMAccelerationCalcData (*ΔΔ POINTER TO CMAccelerationCalcDataPtr*);
  79.  
  80. (*————————————————————————————————————————————————————————————————————————————————————————————————*)
  81. (*                A c c e l e r a t i o n   C o m p o n e n t   I n t e r f a c e s*)
  82. (*————————————————————————————————————————————————————————————————————————————————————————————————*)
  83.  
  84. PROCEDURE CMAccelerationLoadTables*(CMSession: Components.ComponentInstance; tableData: CMAccelerationTableDataPtr): CMApplication.CMError;
  85.     (*$IF NOT GENERATINGCFM*)
  86.     INLINE PASCAL $2F3C, $0004, $0000, $7000, $A82A;
  87.     (*$END*)
  88. PROCEDURE CMAccelerationCalculateData*(CMSession: Components.ComponentInstance; calcData: CMAccelerationCalcDataPtr): CMApplication.CMError;
  89.     (*$IF NOT GENERATINGCFM*)
  90.     INLINE PASCAL $2F3C, $0004, $0001, $7000, $A82A;
  91.     (*$END*)
  92.  
  93. (* $ALIGN RESET*)
  94. (* $POP*)
  95.  
  96.  END CMAcceleration.
  97.